package com.wxapp.admin.api.pojo.vo.menu;

import com.wxapp.admin.api.enums.MenuTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;

/**
 * @author lgl
 * @Description
 * @Datetime 2022/8/4 9:01
 * @Modified By
 */
@Data
public class QBaseVo implements Serializable {

    /**
     * 菜单名称
     */
    @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String name;

    /**
     * 权限标识
     */
    @Schema(description = "权限标识", requiredMode = Schema.RequiredMode.REQUIRED)
    private String permission;

    /**
     * 父菜单ID
     */
    @Schema(description = "父菜单ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private String pid;

    /**
     * 后台路由
     */
    @Schema(description = "后台路由", requiredMode = Schema.RequiredMode.REQUIRED)
    private String backUrl;

    /**
     * 前端路由
     */
    @Schema(description = "前端路由", requiredMode = Schema.RequiredMode.REQUIRED)
    private String multiUrl;

    /**
     * 显示顺序
     */
    @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer orderNum;

    /**
     * 菜单图标
     */
    @Schema(description = "菜单图标", requiredMode = Schema.RequiredMode.REQUIRED)
    private String icon;

    /**
     * 是否为外链（0是 1否）
     */
    @Schema(description = "是否为外链（0是 1否）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean isFrame;

    /**
     * 菜单类型（M目录 C菜单 F按钮）
     */
    @Schema(description = "菜单类型（H首页 M目录 C菜单 F按钮 W 外链 ）", requiredMode = Schema.RequiredMode.REQUIRED)
    private MenuTypeEnum menuType;

    /**
     * 菜单状态（1显示 0隐藏）
     */
    @Schema(description = "菜单状态（1显示 0隐藏）", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean isDisplay;

    /**
     * 备注
     */
    @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
    private String remark;

}
